<html>
<body>
报告从 <code>uintptr</code> 到 <code>unsafe.Pointer</code> 的潜在错误转换。
<p>如果内存中有存放指针值的 <code>uintptr</code> 类型单词，则从 <code>uintptr</code> 到 <code>unsafe.Pointer</code> 的转换无效，因为该单词对于堆栈复制和垃圾收集器不可见。
</p>
<p>无效用法的示例：</p>
<pre><code>nums := []int8{42, 24}
ptr := unsafe.Pointer(&nums[0])
addr := uintptr(ptr) // 地址存储到局部变量
ptr = unsafe.Pointer(addr + uintptr(1))</code></pre>
<p>有效用法的示例：</p>
<pre><code>nums := []int8{42, 24}
ptr := unsafe.Pointer(&nums[0])
ptr = unsafe.Pointer(uintptr(ptr) + uintptr(1))</code></pre>
</body>
</html>